package com.itcam.reflect;

/**
 * @author : Cammy.Wu
 * Description : 
 */

public class Test05 {

    public static void main(String[] args) {
        // 创建一个A类的实例
        A a = new A();
        // 输出A类的静态变量m的值
        System.out.println(A.m);



        /*
            1. 加载到内存，会产生一个类对应的Class对象
            2. 链接，链接结束后m = 0
            3. 初始化
                <clinit>(){
                    System.out.println("A");
                    m = 300;
                }
         */
    }
}

class A {
    // 静态代码块，在类加载时执行
    static {
        // 输出类名
        System.out.println("A");
        // 给静态变量m赋值
        m = 300;
    }

    // 静态变量m，初始值为100
    static int m = 100;

    // 无参构造器
    public A() {
        // 输出构造器信息
        System.out.println("A的无参构造器");
    }
}

